package sago

import (
	. "gitee.com/xiawucha365/sago.v2/di"
)

var (
	GMysql   *DbEngine
	GModel   *DbDialect
	GRedis   redis.Conn
	GMongodb Mongodb
	GMail    Mail
	Env      string
	Debug    bool
)


	flag.Parse()

	//启动命令
	if Env == GENV_CONST_PROD {
		etc_file = etc_dir + "/etc/prod.toml"
		//判断文件是否存在,如果文件不存在往上级目录走3层。为了一个项目下写多个脚本不需要写多个配置文件。
		if !tool.IsFileExist(etc_file) {
			etc_dir = tool.GetParentDirectory(etc_dir)
			etc_dir = tool.GetParentDirectory(etc_dir)
			etc_file = etc_dir + "/etc/prod.toml"
			if !tool.IsFileExist(etc_file) {
				etc_dir = tool.GetParentDirectory(etc_dir)
				etc_file = etc_dir + "/etc/prod.toml"
			}
		}
	}
	if Env == GENV_CONST_DEV {
		etc_file = "/Users/mfw/Documents/data/go/src/hotel_scripts/console/spider_worker/etc/dev.toml"
	}

	if err := InitConfig(etc_file); err != nil {
		logger.Error(err)
	}

	GConfig.Common.Env = Env
	GConfig.Common.Debug = Debug

	initLog()

	return
}

func Run() {
	prepare()
	//依赖注入中间件
	autoWireBeans()

}


//初始化mongodb
func initMongodb() {
	GMongodb.SessionList = CreateMongodbSessionList()
}

//初始化邮件
func initMail() {
	GMail.MailEngine = InitMailConnect()
}
